package cn.strategy.fund;

import cn.math.MyStatistics;
import cn.strategy.decline.StockDecline_1;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

public class MyStatistics_case {

    @Test
    public void my_case() {
        List<Double> lst = new ArrayList<>();
        lst.add(2D);
        lst.add(4D);
        lst.add(6D);
        lst.add(8D);
        lst.add(10D);
        Double rs = MyStatistics.sampleVariance(lst);
        System.out.println(rs);
    }

    @Test
    public void my_case_1() {
        List<Double> lst = new ArrayList<>();
        lst.add(10.47D);
        lst.add(10.51D);
        lst.add(10.8D);
        lst.add(10.58D);
        lst.add(10.45D);
        Double rs = MyStatistics.sampleVariance(lst);
        System.out.println(rs);

        double sum = lst.stream().mapToDouble(Double::doubleValue).sum();
        System.out.println(sum / lst.size());
        System.out.println((rs / (sum / lst.size())) * 100);
    }

    @Test
    public void my_case_2() {
        List<Float> lst = new ArrayList<>();
        lst.add(10.47F);
        lst.add(10.51F);
        lst.add(10.8F);
        lst.add(10.58F);
        lst.add(10.45F);
        Double rs = MyStatistics.sampleVariance_f(lst);
        System.out.println(rs);

        double sum = MyStatistics.mean_f(lst);
        System.out.println(sum / lst.size());
        System.out.println((rs / (sum / lst.size())) * 100);
    }

    @Test
    public void my_case1() {
        List<Double> lst = new ArrayList<>();
        lst.add(2D);
        lst.add(1D);
        lst.add(6D);
        lst.add(8D);
        lst.add(5D);
        Double rs = StockDecline_1.getVs(lst);
        System.out.println(rs);
    }

    @Test
    public void my_case2() {
        List<Double> lst = new ArrayList<>();
        lst.add(11944D);
        lst.add(54508D);
        lst.add(44607D);
        lst.add(60681D);
        lst.add(96328D);
        lst.add(12246D);
        lst.add(50040D);
        lst.add(5241D);
        lst.add(39290D);
        lst.add(219670D);
        lst.add(85831D);
        lst.add(51164D);
        lst.add(39512D);
        lst.add(19991D);
        lst.add(25397D);
        lst.add(48137D);

        double sum = lst.stream().mapToDouble(Double::doubleValue).sum();
        System.out.println(sum);
        System.out.println("********************");

        lst = new ArrayList<>();
        lst.add(12211D);
        lst.add(51524D);
        lst.add(42814D);
        lst.add(51437D);
        lst.add(92349D);
        lst.add(13060D);
        lst.add(48751D);
        lst.add(5761D);
        lst.add(42830D);
        lst.add(225242D);
        lst.add(96945D);
        lst.add(50964D);
        lst.add(39098D);
        lst.add(21389D);
        lst.add(28025D);
        lst.add(48102D);

        double sum1 = lst.stream().mapToDouble(Double::doubleValue).sum();
        System.out.println(sum1);

        System.out.println(sum / sum1);
    }

    @Test
    public void my_case3() {
        List<Double> lst = new ArrayList<>();
        lst.add(12895D);
        lst.add(56043D);
        lst.add(45861D);
        lst.add(63177D);
        lst.add(97142D);
        lst.add(12742D);
        lst.add(50854D);
        lst.add(5291D);
        lst.add(50298D);
        lst.add(227486D);
        lst.add(90267D);
        lst.add(61161D);
        lst.add(41494D);
        lst.add(19918D);
        lst.add(24935D);
        lst.add(42067D);

        double sum = lst.stream().mapToDouble(Double::doubleValue).sum();
        System.out.println(sum);
        System.out.println("********************");

        lst = new ArrayList<>();
        lst.add(12008D);
        lst.add(52891D);
        lst.add(43405D);
        lst.add(52284D);
        lst.add(95142D);
        lst.add(13266D);
        lst.add(49467D);
        lst.add(5548D);
        lst.add(49410D);
        lst.add(237859D);
        lst.add(104488D);
        lst.add(61126D);
        lst.add(41661D);
        lst.add(21660D);
        lst.add(29480D);
        lst.add(47603D);

        double sum1 = lst.stream().mapToDouble(Double::doubleValue).sum();
        System.out.println(sum1);

        System.out.println(sum / sum1);
    }

    @Test
    public void my_case4() {
        List<Double> lst = new ArrayList<>();
        lst.add(30D);
        lst.add(40D);
        lst.add(50D);
        lst.add(60D);
        lst.add(70D);
        lst.add(80D);
        lst.add(90D);
        lst.add(100D);
        lst.add(120D);
        lst.add(140D);
        lst.add(160D);
        lst.add(180D);
        lst.add(200D);

        double sum = lst.stream().mapToDouble(Double::doubleValue).sum();
        System.out.println(sum);
    }
}





























